_m_o_d_e Specifies the rasterization mode. Three values are accepted:
GGGGLLLL____RRRREEEENNNNDDDDEEEERRRR, GGGGLLLL____SSSSEEEELLLLEEEECCCCTTTT, and GGGGLLLL____FFFFEEEEEEEEDDDDBBBBAAAACCCCKKKK. The initial value is
GGGGLLLL____RRRREEEENNNNDDDDEEEERRRR.
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
ffffggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee sets the rasterization mode. It takes one argument, _m_o_d_e,
which can assume one of three predefined values:
GGGGLLLL____RRRREEEENNNNDDDDEEEERRRR Render mode. Primitives are rasterized, producing pixel
fragments, which are written into the frame buffer. This
is the normal mode and also the default mode.
GGGGLLLL____SSSSEEEELLLLEEEECCCCTTTT Selection mode. No pixel fragments are produced, and no
change to the frame buffer contents is made. Instead, a
record of the names of primitives that would have been
drawn if the render mode had been GGGGLLLL____RRRREEEENNNNDDDDEEEERRRR is returned
in a select buffer, which must be created (see
ffffggggllllSSSSeeeelllleeeeccccttttBBBBuuuuffffffffeeeerrrr) before selection mode is entered.
GGGGLLLL____FFFFEEEEEEEEDDDDBBBBAAAACCCCKKKK Feedback mode. No pixel fragments are produced, and no
change to the frame buffer contents is made. Instead,
the coordinates and attributes of vertices that would
have been drawn if the render mode had been GGGGLLLL____RRRREEEENNNNDDDDEEEERRRR is
returned in a feedback buffer, which must be created (see
ffffggggllllFFFFeeeeeeeeddddbbbbaaaacccckkkkBBBBuuuuffffffffeeeerrrr) before feedback mode is entered.
The return value of ffffggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee is determined by the render mode at the
time ffffggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee is called, rather than by _m_o_d_e. The values returned
for the three render modes are as follows:
GGGGLLLL____RRRREEEENNNNDDDDEEEERRRR 0.
GGGGLLLL____SSSSEEEELLLLEEEECCCCTTTT The number of hit records transferred to the select
buffer.
GGGGLLLL____FFFFEEEEEEEEDDDDBBBBAAAACCCCKKKK The number of values (not vertices) transferred to the
feedback buffer.
See the ffffggggllllSSSSeeeelllleeeeccccttttBBBBuuuuffffffffeeeerrrr and ffffggggllllFFFFeeeeeeeeddddbbbbaaaacccckkkkBBBBuuuuffffffffeeeerrrr reference pages for more
details concerning selection and feedback operation.
If an error is generated, ffffggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee returns 0 regardless of the
current render mode.
One particularly surprising error condition occurs when the selection or
feedback buffer is too large for the implementation to handle. The
problem might not be detected until ffffggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee is executed, because
buffer memory might not be allocated or locked down until that time. In
such a case, it is possible that the only indication of the error is that
ffffggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee will return zero. Thus it is especially important to check
the return value.
EEEERRRRRRRROOOORRRRSSSS
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _m_o_d_e is not one of the three accepted
values.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ffffggggllllSSSSeeeelllleeeeccccttttBBBBuuuuffffffffeeeerrrr is called while the
render mode is GGGGLLLL____SSSSEEEELLLLEEEECCCCTTTT, or if ffffggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee is called with argument
GGGGLLLL____SSSSEEEELLLLEEEECCCCTTTT before ffffggggllllSSSSeeeelllleeeeccccttttBBBBuuuuffffffffeeeerrrr is called at least once.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ffffggggllllFFFFeeeeeeeeddddbbbbaaaacccckkkkBBBBuuuuffffffffeeeerrrr is called while
the render mode is GGGGLLLL____FFFFEEEEEEEEDDDDBBBBAAAACCCCKKKK, or if ffffggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee is called with
argument GGGGLLLL____FFFFEEEEEEEEDDDDBBBBAAAACCCCKKKK before ffffggggllllFFFFeeeeeeeeddddbbbbaaaacccckkkkBBBBuuuuffffffffeeeerrrr is called at least once.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ffffggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee is executed between
the execution of ffffggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of ffffggggllllEEEEnnnndddd.